Broadcast Satellaview-X Internal ROM Info
Archived from http://www.cinnamonpirate.com/docs/bsx-info on 2006/2/7
Grudgingly copied and pasted from his browser by D

The Broadcast Satellaview-X is one of the many pieces of SNES hardware still not emulated quite right. Most emulators initialize the RAM to the wrong value, causing extremely odd play times, and do not emulate the system’s extra 128KB of memory.

When I began work on a ROM renaming tool a while ago, I realized I would need to be able to read information from these ROMS, which were in a slightly different format than the standard SNES fare.

Here are the offsets, lengths and descriptions of all the bytes that make up the internal ROM information for a BSX ROM. The addressing used in the example is HiROM. Subtract $8000 for LoROM addressing.

To detect a BS-X ROM, read 5 bytes from $ffd0. If at least one of them is less than 0×20, the ROM is likely BS-X. This is because those bytes are used for title fields in normal carts, so they will be padded out with ox20 bytes.

$ffd4 is 0×00 in every dumped BS-X ROM.

$ffc0

-

ROM Title (J-ASCII) [21 bytes, string]

$ffd6

-

Release date: month [4 bits]
Multiplier [4 bits]
  Note: All error except 0×00

$ffd7

-

Release date: day [4 bits]
Multiplier [4 bits]
  Multiplier Structure:
  0×0 - 0×3 = X*2
  0×8 - 0xb = X*2+1
  X > 0xb = Error

$ffd8

-

ROM Speed [4 bits upper]
  0×0 - 0×2 = SlowROM (200ns)
  X > 0×2 = FastROM (120ns)

HiROM/LoROM [4 bits lower]
  1=hirom, 0=lorom

$ffd9

-

ROM type [4 bits upper]
  0×0 = FullSize+SoundLink
  0×1 = FullSize
  0×2 = PartSize+SoundLink
  0×3 = PartSize
  X > 3 = Error
Lower 4 bits are 0 in every BS-X ROM

$ffda

-

Licensee [1 byte]
  0×33 or 0xff = Reference to $ffb0. Grab 2 bytes’ ASCII values for real licensee code. Reference codes from SNESKART.TXT.

$ffdb

-

Version number [1 byte]
  This is an extension. Actual format is 1 + ord(val($ffdb))/10.

$ffdc

-

Inverse Checksum [2 bytes]

$ffde

-

Checksum [2 bytes]
  Inverse Checksum and Checksum must add up to 0xffff